package com.activeMQ.student.persistent;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * 发送持久消息
 * @date 2020/10/7 14:12
 */
public class TestProducer {

//    服务端的ip和端口号
    private static String brokerUrl = "tcp://106.12.51.117:61617";

//    消息队列的名称
    private static String queueName = "First-Message";

    public static void main(String[] args) throws JMSException {

//        创建ConnectionFactory对象，并且指定服务端的ip和端口号。
        ConnectionFactory factory = new ActiveMQConnectionFactory(brokerUrl);

//        使用factory对象创建一个connection对象
        Connection connection = factory.createConnection();

//        开启连接
        connection.start();

//        创建session对象，第一个参数为是否开启事务，第二个为接收者的签收状态。
        Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);

//        使用session对象创建destination对象
        Queue queue = session.createQueue(queueName);

//        创建生产者对象
        MessageProducer producer = session.createProducer(queue);
        producer.setDeliveryMode(DeliveryMode.PERSISTENT);
//        创建一个message对象
        TextMessage textMessage = session.createTextMessage();
        textMessage.setText("Hello ActiveMQ");

//        发送消息
        producer.send(textMessage);

//        关机资源
        producer.close();
        session.close();
        connection.close();

        System.out.println("消息发送成功");
    }

}
